$(function(){
	initBlockUI();
	initDate();
	initSubmitData();
	$("#pdate").datepicker();
	$("#create_new").click(create_new);
	updateTable(0, "#pager");
	initPagination();
});

// 分页
function initPagination()
{
	$("#pager").pagination($("#wholepage").val(), {
		items_per_page: 10,
		prev_text: "前一页",
		next_text: "后一页",
		callback: updateTable
	});
}

// 获取工作计划列表数据
function updateTable(page, pager_block)
{
   var url = "plan.php";
   var pars = { "page_status": 1, page: (page + 1) };
   $.post(url, pars, function(xmlobj){
	  $("#tbody2").html("");
	  var checked = " checked=\"checked\" ";
	  $(xmlobj).find("item").each(function(i){
		 var id = $(this).find("id").text();
		 var plandate = $(this).find("plandate").text();
		 var title = $(this).find("title").text();
		 var applydate = $(this).find("applydate").text();
		 var isfinished = $(this).find("isfinished").text();
		 $("<tr></tr>")
		 	.append($("<th></th>").html(i + 1))
		 	.append($("<td></td>").append(plandate))
		 	
		   .append($("<td></td>")
				   .html($("<a href=\"javascript:void(0);\"></a>")
						 .attr("planid", id)
						 .html(title)
						 .click(function(){ showPlanContent($(this).attr("planid")); })
						 )
				   )
		   .append($("<td></td>")
				   .html($("<input type=\"checkbox\" " + ((isfinished != 0) ? checked : "") + " />")
						 .attr("planid", id)
						 .click(function(){ toggleFinished($(this).attr("planid"), this.checked); })
						 )
				   )
		   .append($("<td></td>")
				   .html(applydate)
				   )
		   .append($("<td></td>")
				   .append($("<a href=\"javascript:void(0);\"></a>")
						   .html("修改")
						   .attr("planid", id)
						   .click(function(){ modifyPlan($(this).attr("planid")); })
						   )
				   .append(" ")
				   .append($("<a href=\"javascript:void(0);\"></a>")
						   .html("删除")
						   .attr("planid", id)
						   .click(function(){ delPlan($(this).attr("planid")); })
						   )
				   )
		   .appendTo("#tbody2");
	  });
	  tablePretty("#tbody2");
   });
   return false;
}

// 初始化日期
function initDate()
{
   var date = new Date();
   $("#pdate").val(date.getFullYear() + "-" + (date.getMonth() + 1) + "-" + date.getDate());
}

// 弹出写新计划的框框
function create_new()
{
   // 打开 Modal
   $("#new_plan").modal({
	  onShow: function() { m(1); },
	  onClose: function() { $(".calendar").hide(); m(0); }
   });
   return false;
}

// 数据检验
function dataValidate()
{
	var s = ["请输入计划日期，或从日历中选择！",
		"日期的格式不正确！",
		"请输入计划标题！",
		"请输入计划内容！"];
	if ($.trim($("#pdate").val()) == "") { alert(s[0]); $("#pdate").focus(); return false; }
	if (!/^\d{4}-\d{1,2}-\d{1,2}$/.test($("#pdate").val())) { alert(s[1]); $("#pdate").focus(); return false; }
	if ($.trim($("#ptitle").val()) == "") { alert(s[2]); $("#ptitle").focus(); return false; }
	if ($.trim($("#pcontent").val()) == "") { alert(s[3]); $("#pcontent").focus(); return false; }
	return true;
} 

// 初始化数据提交
function initSubmitData()
{
	$("#submit_new_plan").click(function(){
		// 如果数据验证均无误
		if (dataValidate()) {
			var url = "plan.php";
			var pars = {
				page_status:		2,
				pdate:			$("#pdate").val(),
				ptitle:			$("#ptitle").val(),
				pcontent:			$("#pcontent").val()
			};
			$.post(url, pars, function(text) {
				if (/^Success/.test(text)) { updateTable(0, "#pager"); m(0); /* $.modal.close(); */ }
				else { window.alert("创建新计划失败！"); }
			});
		}
		return false;
	});
}

/* ----------- 事件函数 ------------ */
// 点击计划标题
function showPlanContent(id)
{
   var url = "plan.php";
   var pars = { "page_status": 5, "id": id };
   $.post(url, pars, function(xmlobj){
	  var title = $(xmlobj).find("title").text().unescapeString();
	  var content = $(xmlobj).find("content").text().unescapeString();
	  var preview_block = $("<div></div>").addClass("preview_plan")
	  	.append($("<div></div>").addClass("modal_header").html(title))
	  	.append($("<div></div>").addClass("modal_content").html(content));
	  $.modal(preview_block, {
		 onShow: function() { m(1); },
		 onClose: function() { m(0); }
	  });
   });
}

// 点击“是否完成”
function toggleFinished(id, checked)
{
   var check_flag = checked ? 1 : 0;
   var url = "plan.php";
   var pars = { "page_status": 4, "check": check_flag, "id": id };
   $.post(url, pars);
}

// 点击“修改”
function modifyPlan(id)
{
   alert("啊哦，这项功能还没实现哦！");
}

// 点击“删除”
function delPlan(id)
{
   if (window.confirm("确定删除本计划？"))
	 {
		var url = "plan.php";
		var pars = { "page_status": 3, "id": id };
		$.post(url, pars, function(text){
		   if (/^Success/.test(text)) { updateTable(0, "#pager"); }
		   else { window.alert(text); }
		});
	 }
}

// 当 modal 隐现时
function m(flag) { modalShowClose("#opr_panel input, #tbody2 td input", flag); } 
